package com.rpay.service.user;

import com.rpay.common.dto.user.UserTokenDTO;
import com.rpay.model.user.UserTokenDO;

/**
 * @author FangXiGang
 * @date 2018/4/21
 */
public interface IUserTokenService {
    /**
     * 保存token
     *
     * @param userId
     * @return
     */
    UserTokenDTO saveToken(Integer userId);

    /**
     * <B>根据 refreshToken 去刷新 accessToken</B>
     *
     * @param refreshToken
     * @return 不存在返回 null
     */
    UserTokenDTO modifyToken(String refreshToken);

    /**
     * <B>根据 accessToken 删除userToken</B>
     *
     * @param accessToken
     */
    void deleteToken(String accessToken);

    /**
     * <B>根据 accessToken 去获取 userToken</B>
     *
     * @param accessToken
     * @return accessToken 不存在/已过期/成功
     */
    UserTokenDTO getUserToken(String accessToken);
}
